public class o11_template_design {
    public static void main(String[] args) {
        T2 o = new T2();
        o.eat();
        T1 p = new T1();
        p.eat();
        System.out.println(p instanceof Ieee);
        Ceshi t3 = new Ceshi();
        t3.save(o);
        t3.zz();
    }
}
        /*
        * 模板方法设计模式  先写骨架在吧具体实现给到子类
        * */
/*
* 接口应用 -- 策略模式
*
*
*
* */
interface Ieee {
    void eat();
    /*
     * 多继承不报错
     *
     * */
}
//  实现接口  两个接口一块实现  如果两个被实现的类是相互继承的关系 则会覆盖 只实现一个方法
class T1 implements Ieee{
    public void eat() {
        /*
         * 继承的方法也必须实现
         * */
        System.out.println("第1个接口");
    }

}

// 一个接口可以被多个实现 且不同接口调用可以封装在一个类中
class T2 implements Ieee{
    public void eat() {
        System.out.println("第二个接口");
    }


}

abstract class test3 {
    private Ieee ie;
    public void save(Ieee ie){
        this.ie=ie;
    }
    public void zz(){
       ie.eat();
    }

}
class Ceshi extends test3{
    // 一个方法的多中处理方式
    // 其他方法
}